from typing import TYPE_CHECKING, Iterable

from rastervision.pipeline.config import register_config, Config

if TYPE_CHECKING:
    from rastervision.core.analyzer.analyzer import Analyzer  # noqa


@register_config('analyzer')
class AnalyzerConfig(Config):
    """Configure an :class:`.Analyzer`."""

    def build(self, scene_group: tuple[str, Iterable[str]] | None = None
              ) -> 'Analyzer':
        pass

    def get_bundle_filenames(self) -> list[str]:
        """Returns the names of files that should be included in a model bundle.

        The files are assumed to be in the analyze/ directory generated by the analyze
        command. Note that only the names, not the full paths should be returned.
        """
        return []
